Introducing Object Aliases
نویسنده
چکیده
A number of years ago, [Bro05] explored a prospective language feature then known as Object Templates. That feature died on the vine due to healthy skepticism voiced by EWG, as well as the usual lack of cycles to develop the idea much further. However, the original underlying issue is still present in C++11, after even many additional years of experimental effort to achieve the desired effect via C++03 or (more recently) C++11 syntax.
منابع مشابه
Cooperative Permissions for Reasoning About Aliased Objects
Maintaining object invariants is notoriously difficult when objects involved in invariants are aliased. Existing approaches achieve soundness in reasoning about object invariants by imposing structural constraints on object graphs, excluding many useful programs from being verified. This paper proposes a novel abstraction, cooperative permissions, for sound reasoning about aliased objects. Coop...
متن کاملObject Ownership for Dynamic Alias Protection
Interobject references in object-oriented programs allow arbitrary aliases between objects. By breaching objects' encapsulation boundaries, these aliases can make programs hard to understand and especially hard to debug. We propose using an explicit, run-time notion of object ownership to control aliases between objects in dynamically typed languages. Dynamically checking object ownership as a ...
متن کاملTemplates Aliases for C++
This note is an expansion on the proposal [2] to add template aliases to C++. It further discusses the fundamental issue, the solution suggested in [2] and several possible directions of generalizations to non-template and non-type settings. This does not constitute a final wording for inclusion in the working paper; rather it is a collection of ideas as a basis for further discussions. This pa...
متن کاملElaborating on the alias calculus
In this research-in-progress report, we elaborate on the alias calculus introduced in [1], [2]. The alias calculus is to determine whether two reference expressions at the given program point may address the same object at the run-time (in other words, whether one expression may be an alias of the other expression). The main intended application of the alias calculus is to support deductive ver...
متن کاملStructured Aliasing
Aliasing, mutable state and stable object identities are inherent in object-oriented programming. It is a well-known fact that this troika of features cause problems for practitioners, tool developers and formalists alike. Patterns for aliasing, and patterns for structuring object graphs exist, and manipulating aliases and managing these graphs or graph-like structures are among the most freque...
متن کامل